﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Sharp.Domain.Model;
using Sharp.Infrastructure;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;

namespace Sharp.Domain.CMSBoundedContext.VIUModule.Aggregates
{
    public class Special : AggregateRoot, IStandardEntity, IStandardState
    {
        public Special()
        {
            VIUs = new List<VIU>();
        }
        public Guid? ColmunId { get; set; }
        /// <summary>
        /// 标题
        /// </summary>
        [StringLength(100), DefaultValue("")]
        public string Title { get; set; }
        /// <summary>
        /// 内容
        /// </summary>
        [StringLength(255), DefaultValue("")]
        public string Content { get; set; }
        /// <summary>
        /// 缩略图
        /// </summary>
        [StringLength(255), DefaultValue("")]
        public string Thumbnail { get; set; }
        /// <summary>
        /// 封面图
        /// </summary>
        [StringLength(255), DefaultValue("")]
        public string CoverPictrue { get; set; }
        /// <summary>
        /// 是否通过审核
        /// </summary>
        public bool IsChecked { get; set; }
        /// <summary>
        /// 点击数
        /// </summary>
        public int Hits { get; set; }

        public DateTime? CheckInTime { get; set; }
        public Guid? CheckInUserId { get; set; }
        public DateTime? ModifiTime { get; set; }
        public Guid? ModifiedUserId { get; set; }
        public EntityStateOperate EntityState { get; set; }

        public virtual List<VIU> VIUs { get; set; }
        [ForeignKey("ColmunId")]
        public virtual Column Column { get; set; }
        public virtual ICollection<ApproveHistory4Special> ApproveHistories { get; internal set; }
    }
}
